package com.qiangshi.taskClaim.domain;

import java.util.Date;
import java.util.List;

import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.qiangshi.common.annotation.Excel;
import com.qiangshi.common.core.domain.BaseEntity;

/**
 * 认领记录对象 qs_task_claim
 *
 * @author qiangshi
 * @date 2022-02-12
 */
public class QsTaskClaim extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键 */
    private Long id;

    /** 任务ID */
    @Excel(name = "任务ID")
    private Long tasksId;

    /** 任务编号 */
    @Excel(name = "任务编号")
    private String tasksNum;

    /** 任务名称 */
    @Excel(name = "任务名称")
    private String tasksName;

    /** 认领者ID */
    @Excel(name = "认领者ID")
    private Long claimerId;

    /** 发布者ID */
    @Excel(name = "发布者ID")
    private Long publisherId;
    /** 发布者ID */
    @Excel(name = "发布者名称")
    private String publisherName;

    /** 认领者ID */
    @Excel(name = "认领者名称")
    private String claimerName;
    /** 认领时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "认领时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date claimerTime;

    /** 发布积分 */
    @Excel(name = "发布积分")
    private Integer releaseScore;

    /** 认领积分 */
    @Excel(name = "认领积分")
    private Integer claimScore;

    private List<Long> tasksIds;

    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId()
    {
        return id;
    }
    public void setTasksId(Long tasksId)
    {
        this.tasksId = tasksId;
    }

    public Long getTasksId()
    {
        return tasksId;
    }
    public void setTasksNum(String tasksNum)
    {
        this.tasksNum = tasksNum;
    }

    public String getTasksNum()
    {
        return tasksNum;
    }
    public void setTasksName(String tasksName)
    {
        this.tasksName = tasksName;
    }

    public String getTasksName()
    {
        return tasksName;
    }
    public void setClaimerId(Long claimerId)
    {
        this.claimerId = claimerId;
    }

    public Long getClaimerId()
    {
        return claimerId;
    }
    public void setPublisherId(Long publisherId)
    {
        this.publisherId = publisherId;
    }

    public Long getPublisherId()
    {
        return publisherId;
    }
    public void setClaimerTime(Date claimerTime)
    {
        this.claimerTime = claimerTime;
    }

    public Date getClaimerTime()
    {
        return claimerTime;
    }
    public void setReleaseScore(Integer releaseScore)
    {
        this.releaseScore = releaseScore;
    }

    public Integer getReleaseScore()
    {
        return releaseScore;
    }
    public void setClaimScore(Integer claimScore)
    {
        this.claimScore = claimScore;
    }

    public Integer getClaimScore()
    {
        return claimScore;
    }

    public String getPublisherName() {
        return publisherName;
    }

    public void setPublisherName(String publisherName) {
        this.publisherName = publisherName;
    }

    public String getClaimerName() {
        return claimerName;
    }

    public void setClaimerName(String claimerName) {
        this.claimerName = claimerName;
    }

    public List<Long> getTasksIds() {
        return tasksIds;
    }

    public void setTasksIds(List<Long> tasksIds) {
        this.tasksIds = tasksIds;
    }

    public QsTaskClaim() {
    }

    public QsTaskClaim(Long tasksId, String tasksNum, String tasksName, Long claimerId, Long publisherId, String publisherName, String claimerName, Date claimerTime, Integer releaseScore, Integer claimScore) {
        this.tasksId = tasksId;
        this.tasksNum = tasksNum;
        this.tasksName = tasksName;
        this.claimerId = claimerId;
        this.publisherId = publisherId;
        this.publisherName = publisherName;
        this.claimerName = claimerName;
        this.claimerTime = claimerTime;
        this.releaseScore = releaseScore;
        this.claimScore = claimScore;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("tasksId", getTasksId())
            .append("tasksNum", getTasksNum())
            .append("tasksName", getTasksName())
            .append("claimerId", getClaimerId())
            .append("publisherId", getPublisherId())
            .append("claimerTime", getClaimerTime())
            .append("releaseScore", getReleaseScore())
            .append("claimScore", getClaimScore())
            .toString();
    }
}
